package com.duobaoyu.dby.supply.biz.client.resource.bean.dto;

import com.duobaoyu.dby.common.core.constant.CommonConstants;
import com.duobaoyu.dby.common.core.constant.enums.TaskTypeEnum;
import com.duobaoyu.dby.resource.remote.common.enums.BizTypeEnum;
import com.duobaoyu.dby.resource.remote.common.enums.TaskStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author liyang
 * @version 1.0.0
 * @ClassName TaskAsyncQueryDTO
 * @Description 异步任务查询条件
 * @createTime 15:10:00 2023/10/09
 */
@Data
public class TaskAsyncQueryDTO implements Serializable {

    private static final long serialVersionUID = 2863323481699785063L;
    /**
     * 父任务id
     */
    @ApiModelProperty(value = "父任务id")
    private Long parentTaskId;
    /**
     * 父任务查询条件： true - 只查询父任务 ，false - 排除父任务； 不全是及有子任务又有父任务
     */
    @ApiModelProperty(value = "父任务查询条件：true - 只查询父任务 ，false - 排除父任务； 不全是及有子任务又有父任务")
    private Boolean ifParentTask;
    /**
     * 业务类型: 1 -> 商品中心; 2 -> 供应链; 3 -> 订单中心; 4 -> 供应商; 5 -> 生活服务供应链
     * @see BizTypeEnum
     */
    @NotNull(message = "业务类型不能为空")
    @ApiModelProperty(value = "业务类型: 1 -> 商品中心; 2 -> 供应链; 3 -> 订单中心; 4 -> 供应商; 5 -> 生活服务供应链")
    private Integer bizType;
    /**
     * 业务任务类型，业务自定义
     */
    @ApiModelProperty(value = "业务任务类型，业务自定义")
    private String bizTaskType;
    /**
     * 任务类型: IMPORT -> 导入任务; ASYNC -> 异步任务
     * @see TaskTypeEnum
     */
    @ApiModelProperty(value = "任务类型: 1 -> 导入任务; 2 -> 异步任务")
    private String taskType;
    /**
     * 异步任务状态: 1->待处理; 2->部分完成; 3->处理完成; 4->处理失败
     * @see TaskStatusEnum
     */
    @ApiModelProperty(value = "异步任务状态: 1->待处理; 2->部分完成; 3->处理完成; 4->处理失败")
    private Integer taskStatus;
    /**
     * 页码
     */
    @ApiModelProperty(value = "页码")
    private Integer current = CommonConstants.ONE;
    /**
     * 页容量
     */
    @ApiModelProperty(value = "页容量")
    private Integer size = CommonConstants.TEN;
}
